package br.com.invest.model;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author Kirmaier
 */
@Entity
@Table(name = "TRANSACOES")
public class Transacao implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "COD_TRANSACAO")
    private Integer codTransacao;
    @Column(name = "VALOR")
    private Double valor;
    @Column(name = "QUANTIDADE")
    private Double quantidade;
    @Column(name = "TIPO")
    private String tipo;
    @Column(name = "DATA_TRANSACAO")
    @Temporal(TemporalType.DATE)
    private Date dataTransacao;
    @Column(name = "DATA_INICIO")
    @Temporal(TemporalType.DATE)
    private Date dataInicio;
    @Column(name = "DATA_TERMINO")
    @Temporal(TemporalType.DATE)
    private Date dataTermino;
    @ManyToOne(optional = false)
    @JoinColumn(name = "COD_GRUPO",insertable = true, updatable = true)
    private Grupo grupo;
    @ManyToOne(optional = false)
    @JoinColumn(name = "COD_ACAO")
    private Acao acao;

    public Transacao() {
    }

    //<editor-fold defaultstate="collapsed" desc="Getters e Setters">
    public Integer getCodTransacao() {
        return codTransacao;
    }

    public void setCodTransacao(Integer codTransacao) {
        this.codTransacao = codTransacao;
    }

    public Date getDataTransacao() {
        return dataTransacao;
    }

    public void setDataTransacao(Date dataTransacao) {
        this.dataTransacao = dataTransacao;
    }

    public Double getQuantidade() {
        return quantidade;
    }

    public void setQuantidade(Double quantidade) {
        this.quantidade = quantidade;
    }

    public String getTipo() {
        return tipo;
    }

    public void setTipo(String tipo) {
        this.tipo = tipo;
    }

    public Double getValor() {
        return valor;
    }

    public void setValor(Double valor) {
        this.valor = valor;
    }

    public Grupo getGrupo() {
        return grupo;
    }

    public void setGrupo(Grupo grupo) {
        this.grupo = grupo;
    }

    public Acao getAcao() {
        return acao;
    }

    public void setAcao(Acao acao) {
        this.acao = acao;
    }

    public Date getDataInicio() {
        return dataInicio;
    }

    public void setDataInicio(Date dataInicio) {
        this.dataInicio = dataInicio;
    }

    public Date getDataTermino() {
        return dataTermino;
    }

    public void setDataTermino(Date dataTermino) {
        this.dataTermino = dataTermino;
    }
    //</editor-fold>
}
